package cn.faifai.desktop;

import cn.faifai.desktop.events.listener.ListenerRegister;
import cn.faifai.common.utils.SpringContextUtil;
import javafx.application.Application;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;

@SpringBootApplication
/* @EnableJpaAuditing 启动Jpa的审计功能，比如说在使用建表中经常会加入
版本号、创建时间、修改时间 、创建者、修改者 这五个字段。因此为了简化开发，
我们可以将其交给jpa来自动填充。*/
@EnableJpaAuditing //审计功能开关
@ComponentScan(basePackages = {"cn.faifai"})
@EnableJpaRepositories(basePackages = {"cn.faifai"})
@EntityScan(basePackages = {"cn.faifai"})
public class faifaiTagDesktopApplication {
    public static void main(String[] args) {
        ConfigurableApplicationContext context = new SpringApplicationBuilder(faifaiTagDesktopApplication.class)
                .headless(false)//  禁用无头模式
                .run(args);
        SpringContextUtil.setContext(context);
        ListenerRegister listenerRegister = context.getBean(ListenerRegister.class);
        listenerRegister.register();
        Application.launch(faifaiTagDesktopMain.class,args);
    }
}
